'use strict';
const wx = require('./common');
const file = require('./file');
const group = require('./group');
const customer = require('./customer');
const user = require('./user');
const menu = require('./menu');
const promenu = require('./promenu');
const qrcode = require('./qrcode');
const url = require('./url');
exports.main = async (event, context) => {
	//event为客户端上传的参数
	let params = event.params || {}

	if (event.action === 'send') {
		return wx.WeixinMessagePush(params)
	}
	// 微信公众号登录
	if (event.action === 'login') {
		return wx.login(params)
	}
	// 获取token
	if (event.action === 'getToken') {
		return wx.getToken()
	}
	// 获取票据
	if (event.action === 'jsapi_ticket') {
		return wx.getTicket()
	}
	// 生成签名
	if (event.action === 'signature') {
		return wx.getSignature(params)
	}
	// 处理永久素材内容
	if (event.action === 'file' && event.options) {
		switch (event.options) {
			case 'add':
				return file.add(params)
				break;
			case 'edit':
				return file.edit(params)
				break;
			case 'list':
				return file.getList(params)
				break;
			case 'filelist':
				return file.getFileList(params)
				break;
			case 'del':
				return file.deleted(params)
				break;
			default:
				break;
		}
	}
	// 处理客服相关内容
	if (event.action === 'customer' && event.options) {
		switch (event.options) {
			case 'add':
				return customer.add(params)
				break;
			case 'edit':
				return customer.edit(params)
				break;
			case 'list':
				return customer.getList(params)
				break;
			case 'avatar':
				return customer.setAvatar(params)
				break;
			case 'del':
				return customer.deleted(params)
				break;
			default:
				break;
		}
	}
	// 处理分组相关内容
	if (event.action === 'group' && event.options) {
		switch (event.options) {
			case 'add':
				return group.add(params)
				break;
			case 'edit':
				return group.edit(params)
				break;
			case 'remove':
				return group.remove(params)
				break;
			case 'list':
				return group.getList(params)
				break;
			case 'del':
				return group.deleted(params)
				break;
			default:
				break;
		}
	}
	// 处理分组相关内容
	if (event.action === 'user' && event.options) {
		switch (event.options) {
			case 'list':
				return user.getList(params)
				break;
			case 'remark':
				return user.remark(params)
				break;
			default:
				break;
		}
	}
	// 处理自定义菜单相关内容
	if (event.action === 'menu' && event.options) {
		switch (event.options) {
			case 'get':
				return menu.get()
				break;
			case 'add':
				return menu.add(params)
				break;
			case 'del':
				return menu.del()
				break;
			default:
				break;
		}
	}
	// 处理自定义菜单相关内容
	if (event.action === 'promenu' && event.options) {
		switch (event.options) {
			case 'test':
				return promenu.test(params)
				break;
			case 'add':
				return promenu.add(params)
				break;
			case 'del':
				return promenu.del(params)
				break;
			default:
				break;
		}
	}
	// 二维码相关事件
	if (event.action === 'qrcode' && event.options) {
		switch (event.options) {
			// 获得ticket
			case 'getticket':
				return qrcode.getTicket(params)
				break;
				// 获取ticket列表
			case 'getlist':
				return qrcode.getList(params)
				break;
				// 获取ticket列表
			case 'del':
				return qrcode.del(params)
				break;
			default:
				break;
		}
	}

	// 长链接生成短链接相关事件
	if (event.action === 'url' && event.options) {
		switch (event.options) {
			// 获得ticket
			case 'create':
				return url.createShorUrl(params)
				break;
				// 获取ticket列表
			case 'getlist':
				return url.getList(params)
				break;
				// 获取ticket列表
			case 'del':
				return url.del(params)
				break;
			default:
				break;
		}
	}

	//返回数据给客户端
	return 'success'
};
